//
//  GetData.h
//  Moment
//
//  Created by dllo on 15/12/21.
//  Copyright © 2015年 谭泽源. All rights reserved.
//

#import <Foundation/Foundation.h>
typedef NS_ENUM(NSUInteger, HXResult) {
    HXData,
    HXJSON,
    HXXML,
};
typedef NS_ENUM(NSUInteger, HXRequestStyle) {
    HXRequestJSON,
    HXRequestString
};


typedef void(^GetDataBlock)(id result);


@interface GetData : NSObject
/**
 *  Get请求
 *
 *  @param url        网络请求地址
 *  @param body       请求体
 *  @param result     返回的数据类型
 *  @param headerFile 请求头
 *  @param success    网络请求成功回调
 *  @param failure    网络请求失败回调
 */


//get请求
+ (void)getDataWithURL:(NSString *)url block:(GetDataBlock)block;

//post请求
+ (void)getDataWithURL:(NSString *)url postDic:(NSDictionary *)dic block:(GetDataBlock)block;
+ (void)getUrl:(NSString *)url
          body:(id)body
        result:(HXResult)result
    headerFile:(NSDictionary *)headerFile
       success:(void (^)(id result))success
       failure:(void (^)(NSError *error))failure;


/**
 *  Post请求
 *
 *  @param url          网络请求地址
 *  @param body         请求体
 *  @param result       返回值的数据类型
 *  @param requestStyle 网络请求Body的类型
 *  @param headerFile   网络请求头
 *  @param success      成功回调
 *  @param failure      失败回调
 */
+ (void)postUrl:(NSString *)url
           body:(id)body
         result:(HXResult)result
   requestStyle:(HXRequestStyle)requestStyle
     headerFile:(NSDictionary *)headerFile
        success:(void (^)(id result))success
        failure:(void (^)(NSError *error))failure;

@end
